|
Lokalizacja w menu |
---|
Surface → Filling |
Środowisko pracy |
Powierzchnia 3D |
Domyślny skrót |
brak |
Wprowadzono w wersji |
0.17 |
Zobacz także |
brak |
Polecenie Wypełnianie tworzy powierzchnię z serii połączonych krawędzi granicznych. Krzywizna powierzchni może być dodatkowo kontrolowana przez krawędzie i wierzchołki, które nie są krawędziami granicznymi, oraz powierzchnię podpierającą.
Geometria bazowa może należeć do krzywych utworzonych za pomocą środowiska Rysunek Roboczy lub Szkicownik, ale może również należeć do obiektów bryłowych, takich jak te utworzone za pomocą środowiska Część lub Projekt Części.
Dwie wypełnione powierzchnie ograniczone czterema krawędziami znajdującymi się na płaszczyźnie XY. Powierzchnia po prawej stronie jest dodatkowo kontrolowana przez krawędź niebędącą granicą.
Polecenie Powierzchnia podparcia działa jako dodatkowe ograniczenie dla powierzchni. Poniższy prosty przykład pozwoli zrozumieć, jak to działa:
180°
.
Obiekt Wypełnienie (klasa Surface::Filling
) jest pochodną podstawowej klasy Część: Cecha (klasa Part::Feature
, poprzez klasę podrzędną Part::Spline
), dlatego też dzieli z nią wszystkie jej właściwości.
Oprócz właściwości opisanych na stronie Cecha części, obiekt Rozszerz powierzchnię, posiada następujące właściwości w edytorze właściwości.
Wypełnienie
LinkSubList
): Krawędzie graniczne, C0 jest wymagane dla krawędzi bez odpowiadającej im powierzchni.StringList
):IntegerList
): Kolejność ograniczeń na powierzchniach granicznych; 0
, 1
i 2
są możliwe.LinkSubList
): Nieograniczone krawędzie wiązania, C0 jest wymagane dla krawędzi bez odpowiedniej ściany.StringList
):IntegerList
): Kolejność ograniczeń na niezwiązanych powierzchniach; 0
, 1
i 2
są możliwe.LinkSubList
): Wolne ograniczenie na powierzchni.IntegerList
): Kolejność wiązań na wolnych powierzchniach.LinkSubList
): Punkty wiązania na powierzchni.LinkSub
): początkowa powierzchnia do użycia.Integer
): Stopień początkowy, domyślnie 3
.Integer
): Liczba punktów na krawędzi dla wiązania.Integer
): Liczba iteracji, domyślnie 2
.Bool
): Wartość domyślna to FAŁSZ
.Float
): Tolerancja 2D, domyślnie 0.0
.Float
): Tolerancja 3D, domyślnie 0.0
.Float
): Tolerancja G1, domyślnie 0.01
.Float
): Tolerancja G2, domyślnie 0.10
.Integer
): Maksymalny stopień krzywej, wartością domyślną jest 8
.Integer
): Maksymalna liczba segmentów, domyślnie 9
.
Podstawa
Bool
): wartość domyślna to FAŁSZ
, Jeśli ustawiono PRAWDA
, wyświetlona zostanie nakładka z punktami kontrolnymi krzywej.
Zobacz również: FreeCAD podstawy tworzenia skryptów.
Narzędzie Wypełnienie powierzchni może być używane w makrodefinicjach i z konsoli Python poprzez dodanie obiektu Surface::Filling
.
BoundaryEdges
obiektu.UnboundEdges
i Points
obiektu.import FreeCAD as App
import Draft
doc = App.newDocument()
a = App.Vector(-20, -20, 0)
b = App.Vector(-18, 25, 0)
c = App.Vector(60, 26, 0)
d = App.Vector(33, -20, 0)
points1 = [a, App.Vector(-20, -8, 0), App.Vector(-17, 7, 0), b]
obj1 = Draft.make_bspline(points1)
points2 = [b, App.Vector(0, 25, 0), c]
obj2 = Draft.make_bspline(points2)
points3 = [c, App.Vector(37, 4, 0), d]
obj3 = Draft.make_bspline(points3)
points4 = [d, App.Vector(-2, -18, 0), a]
obj4 = Draft.make_bspline(points4)
doc.recompute()
surf = doc.addObject("Surface::Filling", "Surface")
surf.BoundaryEdges = [(obj1, "Edge1"),
(obj2, "Edge1"),
(obj3, "Edge1"),
(obj4, "Edge1")]
doc.recompute()
# ---------------------------------------------------------
points_spl = [App.Vector(-10, 0, 2),
App.Vector(4, 0, 7),
App.Vector(18, 0, -5),
App.Vector(25, 0, 0),
App.Vector(30, 0, 0)]
aux_edge = Draft.make_bspline(points_spl)
doc.recompute()
surf.UnboundEdges = [(aux_edge, "Edge1")]
doc.recompute()
# ---------------------------------------------------------
aux_v1 = Draft.make_line(App.Vector(-13, -12, 5),
App.Vector(-13, -12, -5))
aux_v2 = Draft.make_line(App.Vector(-3, 18, 5),
App.Vector(-3, 18, -5))
doc.recompute()
surf.Points = [(aux_v1, "Vertex2"),
(aux_v2, "Vertex1")]
doc.recompute()